Method and apparatus for determining a route metric

ABSTRACT

Machine-readable media, methods, apparatus and system for determining a route metric are described. In some embodiments, a characteristic of a packet to be sent from a node to another node is analyzed. The characteristic of the packet may indicate at least one of a group consisting whether the packet is transmission quality sensitive and whether the packet is transmission throughput sensitive. Then, a weight relationship between a packet loss rate and a data rate may be determined, in which the weight relationship may vary with the characteristic of the packet. A route metric for a route from the node to the another node may be determined based upon the packet loss rate, the data rate and the weight relationship.

BACKGROUND

Two algorithms may be commonly used to measure a route metric in a meshnetwork: ETX (expected transmission count) and ETT (expectedtransmission time). ETX metric may measure a packet loss rate for eachlink between two neighboring nodes along a route. ETT metric may takethe packet loss rate and data rate into account and use min{ETX_(rate)/Rate} as a metric for the each link, in which ETX_(rate) mayrepresent different packet loss rates under different data rates.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention described herein is illustrated by way of example and notby way of limitation in the accompanying figures. For simplicity andclarity of illustration, elements illustrated in the figures are notnecessarily drawn to scale. For example, the dimensions of some elementsmay be exaggerated relative to other elements for clarity. Further,where considered appropriate, reference labels have been repeated amongthe figures to indicate corresponding or analogous elements.

FIG. 1 shows an embodiment of a mesh network comprising a plurality ofnodes.

FIG. 2 shows an embodiment of a node in the mesh network.

FIG. 3 shows an embodiment of a method of selecting a route according toa route metric by the node in the mesh network.

DETAILED DESCRIPTION

The following description describes techniques for determining a routemetric. In the following description, numerous specific details such aslogic implementations, pseudo-code, methods to specify operands,resource partitioning/sharing/duplication implementations, types andinterrelationships of system components, and logicpartitioning/integration choices are set forth in order to provide amore thorough understanding of the current invention. However, theinvention may be practiced without such specific details. In otherinstances, control structures, gate level circuits and full softwareinstruction sequences have not been shown in detail in order not toobscure the invention. Those of ordinary skill in the art, with theincluded descriptions, will be able to implement appropriatefunctionality without undue experimentation.

References in the specification to “one embodiment”, “an embodiment”,“an example embodiment”, etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to affect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Embodiments of the invention may be implemented in hardware, firmware,software, or any combination thereof. Embodiments of the invention mayalso be implemented as instructions stored on a machine-readable medium,that may be read and executed by one or more processors. Amachine-readable medium may include any mechanism for storing ortransmitting information in a form readable by a machine (e.g., acomputing device). For example, a machine-readable medium may includeread only memory (ROM); random access memory (RAM); magnetic diskstorage media; optical storage media; flash memory devices; electrical,optical, acoustical or other forms of propagated signals (e.g., carrierwaves, infrared signals, digital signals, etc.) and others.

An embodiment of a mesh network 1 comprising a plurality of nodes isshown in FIG. 1. As shown, the mesh network may comprise four nodes 110,120, 130 and 140. However, it should be appreciated that the meshnetwork 1 may have any number of nodes. Each node may have one or moreneighboring nodes and two neighboring nodes may communicate with eachother via a wireless link. Examples for the node may comprise mainframecomputers, mini-computers, personal computers, portable computers,laptop computers, and other devices for transceiving and processingdata.

Many protocols may be adopted for routing in the mesh network, such asAd-hoc On Demand Distance Vector Routing (AODV) protocol. Theseprotocols may determine a route to direct data from a source node (e.g.,node 110) to a destination node (e.g., node 140) based upon variousfactors, such as packet loss rate and data rate. A routing protocol maydefine a route metric to measure a certain characteristic for each routebetween the source node and the destination node and select a route todirect data based upon the route metric. For example, there may be tworoutes from node 110 to node 140, such as a route through nodes 110,120, and 140 and a route through nodes 110, 130, and 140. The routingprotocol may measure a route metric for each route and select a route todirect data between node 110 and node 140 based upon the route metric.

Although FIG. 1 shows the mesh network, it should be appreciated thatthe present invention could be used for other types of network.

FIG. 2 shows an embodiment of a node in the mesh network. As shown, thenode may comprise one or more processors 21, memory 22, chipset 23,network interface 24, firmware 25 and possibly other components. The oneor more processors 21 may be communicatively coupled to variouscomponents (e.g., the chipset 23) via one or more buses such as aprocessor bus. The processors 21 may be implemented as an integratedcircuit (IC) with one or more processing cores that may execute codesunder a suitable architecture, for example, including Intel® Xeon™,Intel® Pentium™, Intel® Itanium™ architectures, available from IntelCorporation of Santa Clara, Calif.

The memory 22 may store instructions and data in the form of anoperating system 201 and a routing application 202. Examples for thememory 22 may comprise one or any combination of the followingsemiconductor devices, such as synchronous dynamic random access memory(SDRAM) devices, RAMBUS dynamic random access memory (RDRAM) devices,double data rate (DDR) memory devices, static random access memory(SRAM), and flash memory devices.

The operating system 201 may control tasks that the node may carry outand manage system resources to optimize performance. Examples of theoperating system 201 may include, but is not limited to, differentversions of Linux®, Microsoft® Windows®, and real time operating systemssuch as VxWorks®, etc. The operating system 201 may comprise a number ofmodules to bridge between overlying applications and underlying hardwareand perform the resource optimization: For example, the operating system201 may comprise a driver 2010 to control devices (e.g., networkinterface 24) according to commands from the user applications (e.g.,routing application 202).

The driver 2010 may receive a routing command from the routingapplication 202 and instruct the network interface 24 to direct data toa destination node indicated in the routing command. The driver 2010 mayfurther analyze a packet to be routed for any characteristic ofinterested, such as whether the packet is transmission quality sensitive(e.g., a voice packet) or whether the packet is transmission throughputsensitive (e.g., a file transfer protocol packet). The driver 2010 mayreport the characteristic of the packet to the routing application 202for route metric calculation and/or route determination.

The driver 2010 may comprise a route table 2011 recording a plurality ofroutes from the node to a plurality of destination nodes. The routetable 2011 may take various forms. For example, the route table 2011 maycomprise a plurality of entries, each entry for each destination node.Each entry may comprise a plurality of items, such as the destinationnode, a next hop node, a route metric, a data rate, and a characteristicof a packet to be routed. The route table may use different ways torepresent the packet characteristic. For example, the route table mayuse ‘packet priority’ that is no larger than 3 to represent that thepacket is transmission quality sensitive, while use ‘packet priority’that is larger than 3 to represent that the packet is transmissionthroughput sensitive.

The driver 2010 may further comprise a packet analyzing logic 2012 toanalyze the characteristic of the packet. The characteristic may helpthe driver 2010 to search a route from the route table that correspondsto the packet characteristic or help the routing application 202 todetermine a route metric for a route, in which the packet characteristicmay help to determine a weight relationship between a packet loss rateand a data rate that are used to calculate the route metric.

The driver 2010 may search the route table for the route to direct datafrom the present node to the destination node and the route maycorrespond to the analyzed packet characteristic. However, if the driver2010 can not find the route from the route table, the driver 2010 maynotify the routing application 202 which may determine if a route fromthe present node to the destination node exists. In response that theroute exists, the routing application 202 may calculate a route metricfor the route according to the packet characteristic and add the routeas well as its route metric into the route table. However, if thereexists a number of routes from the present node to the destination node,for example, two routes may exist from node 110 to node 140, then therouting application 202 may calculate a route metric for each routeaccording to the packet characteristic and select a route to route thedata according to the route metrics.

The routing application 202 may comprise the route table 2011 to storeroutes for each destination node. The routing application 202 may keepthe route table within itself consistent with the route table within thedriver 2010 by updating the both route tables concurrently.

The routing application 202 may further comprise a metric logic 2020 tocalculate a route metric according to the packet characteristic analyzedby the driver 2010. The metric logic 2020 may use the following equationto calculate the route metric:

${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {p_{rate}/\left( {a + {b*{rate}}} \right)} \right)}}}$

metric_(route) may represent a metric for a route and metric_(link) mayrepresent a metric for a link of the route. Two neighboring nodes mayestablish a link, for example, a link between nodes 110 and 120. n maybe an integer and may represent the number of links that the route mayhave. For example, route (110, 120, 140) may have two links, i.e., link(110, 120) and link (120, 14). rate may represent a data rate on a linkand data may be transmitted on the link with different data rates.p_(rate) may represent a packet loss rate under a data rate anddifferent data rates may associate with different packet loss rates. aand b may be parameters that may determine a weight relationship betweenthe packet loss rate (p_(rate)) and the data rate (rate).

As stated above, the packet characteristic may help the metric logic2020 determine the weight relationship between the packet loss rate andthe data rate. For example, the metric logic 2020 may assign a greaterweight to the packet loss rate than to the data rate if the packet istransmission quality sensitive, while assigning a greater weight to thedata rate than to the packet loss rate if the packet is transmissionthroughput sensitive. In the case of the above equation, parameter a maybe larger than parameter b (e.g., a=10 and b=1) for a quality sensitivepacket, while parameter b may be larger than parameter a (e.g., b=10 anda=1) for a throughput sensitive packet.

Other algorithms may calculate the route metric in other ways. Forexample, the metric logic 2020 may calculate the route metric with thefollowing equation:

${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}{\left( {\left( {a + {b*p_{rate}}} \right)/{rate}} \right).}}}}$

The routing application 202 may further comprise a routing logic 2021 toselect a route based upon the route metric for each available route fromthe present node to the destination node. For the route metriccalculated with the equation

${{metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {p_{rate}/\left( {a + {b*{rate}}} \right)} \right)}}}},$

the routing logic 2021 may select the route with the minimum routemetric. The routing logic 2021 may perform other functions, such asupdating the route table 2011 with a new route.

According to the present invention, the routing application 202 mayselect different route for different packet with differentcharacteristic, even though same pairs of packet loss rate and data rateare used. For example, three pairs of packet loss rate and data rate maybe used for data transmission on the link between nodes 110 and 120 andthe link between nodes 120 and 140.

Packet loss rate Data rate 50 54 40 36 10 6

Another three pairs of packet loss rate and data rate may be used fordata transmission on the link between nodes 110 and 130 and the linkbetween nodes 130 and 140.

Packet loss rate Data rate 60 54 50 36 7 6

The metric logic 2020 may determine the parameters a and b to be 10 and1 for transmission of a quality sensitive packet and to be 1 and 10 fortransmission of a throughput sensitive packet. Therefore, for thetransmission quality sensitive packet, the route metric for the routethrough nodes 110, 120 and 140 may be:

$\begin{matrix}{{metric}_{110\text{-}120\text{-}140} = {{metric}_{110\text{-}120} + {metric}_{120\text{-}140}}} \\{= {{\min \begin{Bmatrix}{{50/\left( {10 + {1*54}} \right)},{40/\left( {10 + {1*36}} \right)},} \\{10/\left( {10 + {1*6}} \right)}\end{Bmatrix}} +}} \\{{\min \begin{Bmatrix}{{50/\left( {10 + {1*54}} \right)},{40/\left( {10 + {1*36}} \right)},} \\{10/\left( {10 + {1*6}} \right)}\end{Bmatrix}}} \\{= 1.25}\end{matrix}$

and, the route metric for the route through nodes 110, 130 and 140 maybe:

$\begin{matrix}{{metric}_{110\text{-}130\text{-}140} = {{metric}_{110\text{-}130} + {metric}_{130\text{-}140}}} \\{= {{{Min}\begin{Bmatrix}{{60/\left( {10 + {1*54}} \right)},{50/\left( {10 + {1*36}} \right)},} \\{7/\left( {10 + {1*6}} \right)}\end{Bmatrix}} +}} \\{{\min \begin{Bmatrix}{{60/\left( {10 + {1*54}} \right)},{50/\left( {10 + {1*36}} \right)},} \\{7/\left( {10 + {1*6}} \right)}\end{Bmatrix}}} \\{= 0.875}\end{matrix}$

However, for the transmission throughput sensitive packet, the routemetric for the route through nodes 110, 120 and 140 may be:

$\begin{matrix}{{metric}_{110\text{-}120\text{-}140} = {{metric}_{110\text{-}120} + {metric}_{120\text{-}140}}} \\{= {{\min \begin{Bmatrix}{{50/\left( {1 + {10*54}} \right)},{40/\left( {1 + {10*36}} \right)},} \\{10/\left( {1 + {10*6}} \right)}\end{Bmatrix}} +}} \\{{\min \begin{Bmatrix}{{50/\left( {1 + {10*54}} \right)},{40/\left( {1 + {10*36}} \right)},} \\{10/\left( {1 + {10*6}} \right)}\end{Bmatrix}}} \\{= 0.185}\end{matrix}$

and, the route metric for the route through nodes 110, 130 and 140 maybe:

$\begin{matrix}{{{metric}{\mspace{14mu} \;}110\text{-}130\text{-}140} = {{{metric}\mspace{20mu} 110_{\text{-}130}} + {metric}_{130\text{-}140}}} \\{= {{{Min}\begin{Bmatrix}{{60/\left( {1 + {10*54}} \right)},{50/\left( {1 + {10*36}} \right)},} \\{7/\left( {1 + {10*6}} \right)}\end{Bmatrix}} +}} \\{{\min \begin{Bmatrix}{{60/\left( {1 + {10*54}} \right)},{50/\left( {1 + {10*36}} \right)},} \\{7/\left( {1 + {10*6}} \right)}\end{Bmatrix}}} \\{= 0.222}\end{matrix}$

Accordingly, the routing logic 2021 may select route (110, 130, 140) forthe transmission quality sensitive packet, while selecting route (110,130, 140) for the transmission throughput sensitive packet.

The chipset 23 may provide one or more communicative paths among one ormore processors 21, memory 22 and other components, such as the networkinterface 24 and the firmware 25.

The network interface 24 may transceive a packet through the meshnetwork. Examples of the network interface 24 may include a networkcard, a bluetooth device, an antenna, and other devices for transceivingdata.

The firmware 25 may store BIOS routines that the node executes duringsystem startup in order to initialize processors 21, chipset 23, andother components of the node and/or EFI routines to interface thefirmware 25 with the operating system 201 and provide a standardenvironment for booting the operating system 201.

FIG. 3 shows an embodiment of a method of selecting a route according toa route metric. In block 301, a source node (e.g., node 110) maydetermine to transmit a packet to a destination node (e.g., node 140).In block 302, the driver 2010 of the source node may analyze acharacteristic of the packet. For example, the characteristic mayindicate whether the packet is transmission quality sensitive ortransmission throughput sensitive. In block 303, the source node maysearch the route table 2011 for an entry corresponding to the packetcharacteristic and the destination node.

If the entry is found in block 304, the driver 2010 of the source nodemay send the packet through the route designated by the entry in block305. If the entry is not found in block 304, the source node maybroadcast a route request to its neighboring node(s) to request a routefrom the neighboring node(s) to the destination node in block 306. Forexample, the node 110 may broadcast the route request to nodes 120 and130 to request a route from each neighboring node to the destinationnode 140.

The route request may comprise the destination node and the packetcharacteristic. The neighboring node may search its own route table forthe requested route that may correspond to the packet characteristic andthe destination node and may send back a route request reply comprisingthe requested route to the node. However, if the requested route is notfound from the route table stored in the neighboring node, theneighboring node may broadcast another route request to its neighboringnode(s) and may send back a route request reply to the source node ifthe route is ultimately found.

If the source node receives a plurality of route request replies from aplurality of neighboring nodes (e.g., from nodes 120 and 130) in block307, the metric logic 2020 of the node may calculate a route metric foreach route designated by each of the route request replies in block 308.For example, the each route may be from the source node to thedestination node through each of the neighboring nodes that may send outthe route request replies (e.g., the route through nodes 110, 120 and140 and/or the route through nodes 110, 130 and 140). The metric logic2020 may further utilize the packet characteristic to determine theweight relationship between the packet loss rate and the data rate whencalculating the route metric.

Then, in block 309, the routing logic 2021 of the source node may selecta route to route the packet from the source node to the destination nodebased upon the route metrics calculated in block 308. For example, therouting logic 2021 may select the route with the minimum route metric.Meanwhile, the routing logic 2021 may update the route table by addingthe selected route as well as its route metric into the route table.

If only one route request reply is received in block 310, the driver2010 of the node may send the packet through the route designated by theroute request reply in block 311. For example, the route may be from thenode to the destination node through the neighboring node that may sendout the route request reply. Meanwhile, the routing logic 2021 maycalculate a route metric for the route and update the route table byadding the route as well as its route metric into the route table. Inresponse that no route request reply is received in block 310, the nodemay abandon sending the packet.

Other technologies may implement other embodiments for the method ofselecting a route. For example, the route request reply may furthercomprise a route metric for the route from the neighboring node to thedestination node. Then, the source node may only need to calculate alink metric for a link between the source node and the neighboring nodeand obtain the route metric for the route from the source node to thedestination node by adding the link metric to the route metric in theroute request reply.

While certain features of the invention have been described withreference to example embodiments, the description is not intended to beconstrued in a limiting sense. Various modifications of the exampleembodiments, as well as other embodiments of the invention, which areapparent to persons skilled in the art to which the invention pertainsare deemed to lie within the spirit and scope of the invention.

1. A method, comprising: analyzing a characteristic of a packet, whereinthe characteristic of the packet indicates at least one of a groupconsisting whether the packet is transmission quality sensitive andwhether the packet is transmission throughput sensitive; determining aweight relationship between a packet loss rate and a data rate for aroute, wherein the weight relationship varies with the characteristic ofthe packet; and determining a route metric for the route based upon thepacket loss rate, the data rate and the weight relationship.
 2. Themethod of claim 1, wherein the weight relationship is determined byassigning a greater weight to the packet loss rate than to the data rateif the packet is the transmission quality sensitive.
 3. The method ofclaim 1, wherein the weight relationship is determined by assigning agreater weight to the data rate than to the packet loss rate if thepacket is transmission throughput sensitive.
 4. The method of claim 1,wherein if the route comprises a plurality of links, then the routemetric is determined by a summation of a plurality of link metrics,wherein each link metric is for each of the plurality of links and is afunction of the packet loss rate, the data rate and the weightrelationship.
 5. The method of claim 1, wherein the route metric isdetermined based upon the following equation:${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {p_{rate}\left( {a + {b*{rate}}} \right)} \right)}}}$wherein, metric_(route) represents the route metric, metric_(link)represents each link metric for each link of the route, n is an integerand represents a number of links that the route has, rate represents thedata rate, p_(rate) represents the packet loss rate under the data rate,a and b are parameters to determine the weight relationship between thepacket loss rate and the data rate.
 6. The method of claim 1, whereinthe route metric is determined based upon the following equation:${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {\left( {a + {b*p_{rate}}} \right)/{rate}} \right)}}}$Wherein, metric_(route) represents the route metric, metric_(link)represents each link metric for each link of the route, n is an integerand represents a number of links that the route has, rate represents thedata rate, p_(rate) represents the packet loss rate under the data rate,a and b are parameters to determine the weight relationship between thepacket loss rate and the data rate.
 7. An apparatus, comprising: apacket analyzing logic to analyze a characteristic of a packet, whereinthe characteristic indicates at least one of a group consisting whetherthe packet is transmission quality sensitive and whether the packet istransmission throughput sensitive; and a metric logic to determine aweight relationship between a packet loss rate and a data rate for aroute, and to determine a route metric for the route based upon thepacket loss rate, the data rate and the weight relationship, wherein theweight relationship varies with the characteristic of the packet.
 8. Theapparatus of claim 7, wherein the weight relationship is determined byassigning a greater weight to the packet loss rate than to the data rateif the packet is the transmission quality sensitive.
 9. The apparatus ofclaim 7, wherein the weight relationship is determined by assigning agreater weight to the data rate than to the packet loss rate if thepacket is transmission throughput sensitive.
 10. The apparatus of claim7, wherein if the route comprises a plurality of links, then the routemetric is determined by a summation of a plurality of link metrics,wherein each link metric is for each of the plurality of links and is afunction of the packet loss rate, the data rate and the weightrelationship.
 11. The apparatus of claim 7, wherein the route metric isdetermined based upon the following equation:${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {p_{rate}\left( {a + {b*{rate}}} \right)} \right)}}}$wherein, metric_(route) represents the route metric, metric_(link)represents each link metric for each link of the route, n is an integerand represents a number of links that the route has, rate represents thedata rate, p_(rate) represents the packet loss rate under the data rate,a and b are parameters to determine the weight relationship between thepacket loss rate and the data rate.
 12. The apparatus of claim 7,wherein the route metric is determined based upon the followingequation:${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {\left( {a + {b*p_{rate}}} \right)/{rate}} \right)}}}$wherein, metric_(route) represents the route metric, metric_(link)represents each link metric for each link of the route, n is an integerand represents a number of links that the route has, rate represents thedata rate, p_(rate) represents the packet loss rate under the data rate,a and b are parameters to determine the weight relationship between thepacket loss rate and the data rate.
 13. An apparatus, comprising: apacket analyzing logic to analyze a characteristic of a packet, whereinthe characteristic of the packet indicates at least one of a groupconsisting whether the packet is transmission quality sensitive andwhether the packet is transmission throughput sensitive; and a metriclogic to determine a weight relationship between a packet loss rate anda data rate for each route of a plurality of routes, and to determine aplurality of route metrics for the plurality of routes, wherein eachroute metric of the plurality of route metrics is for the each route andis determined based upon the packet loss rate, the data rate and theweight relationship for the each route, and wherein the weightrelationship varies with the characteristic of the packet.
 14. Theapparatus of claim 13, further comprising a route logic to select aroute from the plurality of routes, based upon the plurality of routemetrics, to direct the packet.
 15. The apparatus of claim 13, furthercomprising a driver to: search a table for a route that corresponds tothe characteristic of the packet; send a route request to a plurality ofneighboring nodes if the table does not record the route, the routerequest comprising the characteristic of the packet; and receive aplurality of route request replies, each route request reply from eachof the plurality of neighboring nodes and comprising a sub-route. 16.The apparatus of claim 15, wherein the metric logic determines the eachroute metric for the each route further based upon a sub-route metricfor the sub-route.
 17. The apparatus of claim 13, wherein the weightrelationship is determined by assigning a greater weight to the packetloss rate than to the data rate if the packet is the transmissionquality sensitive.
 18. The apparatus of claim 13, wherein the weightrelationship is determined by assigning a greater weight to the datarate than to the packet loss rate if the packet is transmissionthroughput sensitive.
 19. The apparatus of claim 13, wherein the metriclogic determines the each route metric based upon the followingequation:${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {p_{rate}\left( {a + {b*{rate}}} \right)} \right)}}}$wherein, metric_(route) represents the each route metric, metric_(link)represents each link metric for each link of the each route, n is aninteger and represents a number of links that the each route has, raterepresents the data rate for the each route, p_(rate) represents thepacket loss rate under the data rate, a and b are parameters thatdetermine the weight relationship between the packet loss rate and thedata rate.
 20. The apparatus of claim 13, wherein the metric logicdetermines the route metric based upon the following equation:${metric}_{route} = {{\sum\limits_{{link} = 1}^{n}{metric}_{link}} = {\sum\limits_{{link} = 1}^{n}{\min_{link}\left( {\left( {a + {b*p_{rate}}} \right)/{rate}} \right)}}}$wherein, metric_(route) represents the each route metric, metric_(link)represents each link metric for each link of the each route, n is aninteger and represents a number of links that the each route has, raterepresents the data rate for the each route, p_(rate) represents thepacket loss rate under the data rate, a and b are integers thatdetermine the weight relationship between the packet loss rate and thedata rate.